Close

@Article{FranciscoMeGoPeGuMe:2023:SoViAp,
               author = "Francisco, Phyllipe de Souza Lima and Melegati, Jorge and Gomes, 
                         Everaldo and Pereira, Nathalya Stefhany and Guerra, Eduardo and 
                         Meirelles, Paulo",
          affiliation = "{Instituto Nacional de Pesquisas Espaciais (INPE)} and {Free 
                         University of Bolzano-Bolzen} and {Universidade Federal do ABC 
                         (UFABC)} and {Instituto Nacional de Telecomunica{\c{c}}{\~o}es 
                         (INATEL)} and {Free University of Bolzano-Bolzen} and 
                         {Universidade Federal do ABC (UFABC)}",
                title = "CADV: A software visualization approach for code annotations 
                         distribution",
              journal = "Information and Software Technology",
                 year = "2023",
               volume = "154",
                pages = "e107089",
                month = "Feb.",
             keywords = "Code annotations, Circle packing, Empirical evaluation, Software 
                         visualization.",
             abstract = "Context: Code annotations is a widely used feature in Java systems 
                         to configure custom metadata on programming elements. Their 
                         increasing presence creates the need for approaches to assess and 
                         comprehend their usage and distribution. In this context, software 
                         visualization has been studied and researched to improve program 
                         comprehension in different aspects.Objectives: This study aimed at 
                         designing a software visualization approach that graphically 
                         displays how code annotations are distributed and organized in a 
                         software system and developing a tool, as a reference 
                         implementation of the approach, to generate views and interact 
                         with users.Methods: We conducted an empirical evaluation through 
                         questionnaires and interviews to evaluate our visualization 
                         approach considering four aspects: (i) effectiveness for program 
                         comprehension, (ii) perceived usefulness, (iv) perceived ease of 
                         use, and (iv) suitability for the intended audience. The resulting 
                         data was used to perform a qualitative and quantitative 
                         analysis.Results: The tool identifies package responsibilities 
                         providing visual information about their annotations at different 
                         levels. Using the developed tool, the participants achieved a high 
                         correctness rate in the program comprehension tasks and performed 
                         very well in questions about the overview of the system under 
                         analysis. Finally, participants perceived that the tool is 
                         suitable to visualize the distribution of code 
                         annotations.Conclusions: The results show that the visualization 
                         approach using the developed tool is effective in program 
                         comprehension tasks related to code annotations, which can also be 
                         used to identify responsibilities in the application packages. 
                         Moreover, it was evaluated as suitable for newcomers to overview 
                         the usage of annotations in the system and for architects to 
                         perform a deep analysis that can potentially detect misplaced 
                         annotations and abnormal growths on their usage.",
                  doi = "10.1016/j.infsof.2022.107089",
                  url = "http://dx.doi.org/10.1016/j.infsof.2022.107089",
                 issn = "0950-5849",
             language = "en",
           targetfile = "1-s2.0-S0950584922001987-main.pdf",
        urlaccessdate = "2024, Apr. 27"
}


Close